package com.yzt.dynamicmodule.contacts;

import com.yzt.zhuju.mvp.BasePresenter;
import com.yzt.zhuju.mvp.Contract;
import com.yzt.zhuju.network.entity.DynamicCommentBean;
import com.yzt.zhuju.network.entity.dynamic.DynamicListBean;
import com.yzt.zhuju.network.entity.dynamic.DynamicMsgBean;
import com.yzt.zhuju.network.entity.dynamic.DynamicMsgChildBean;

import java.util.List;

/**
 * 动态详情模块接口类
 */
public interface DynamicDetailContacts {

    abstract class Presenter extends BasePresenter<View> {

        public abstract void setDynamicId(String dynamicId);

        public abstract void getDetails();

        public abstract void getCommentList();

        public abstract void delDynamic();

        public abstract void addComment(DynamicCommentBean content);

        public abstract void dynamicLike(boolean like);

        public abstract void dynamicCommentLike(int type, String dynamicId, String commentId, String childCommentId, boolean status);

        public abstract void followUser(String userId);
    }

    interface View extends Contract.IView {

        void loadDynamicDetail(DynamicListBean response);

        void loadCommentList(List<DynamicMsgBean> list);

        void delDynamic();

        void dynamicLike(boolean like);

        void dynamicReply(DynamicCommentBean comment, DynamicMsgBean bean);

        void dynamicReplyChild(DynamicCommentBean comment, DynamicMsgChildBean bean);

        void followUser();

        void dynamicCommentLike(int type, String dynamicId, String commentId, String childCommentId, boolean status);
    }
}
